package com.station.Activitys.adapter;

import android.content.Context;
import android.graphics.Paint;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.station.Activitys.R;
import com.station.Activitys.adapter.base.BaseRecyclerViewAdapter;
import com.station.Activitys.bean.News;
import com.station.Activitys.utils.GlideUtils;
import com.zhy.autolayout.utils.AutoUtils;

import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;

/**
 * 项目名称：基站管理平台 手机app
 * 类描述：信息中心 适配器
 * 创建人：张飞祥
 * 创建时间：2018/8/27 17:10
 * 修改人：张飞祥
 * 修改时间：2018/8/27 17:10
 * 修改备注：
 */
public class NewsAdapter extends BaseRecyclerViewAdapter {

    //上下文
    private Context mContext = null;
    //数据源
    private List<News> mList = null;

    /**
     * 构造方法
     *
     * @param mContext
     * @param mContext
     * @param mList
     */
    public NewsAdapter(Context mContext, List<News> mList) {
        super(mContext, mList);
        this.mContext = mContext;
        this.mList = mList;
    }

    @Override
    protected int getLayoutItemResId() {
        return R.layout.item_news;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {

        if (viewHolder instanceof NewsViewHolder) {

            //TODO 获取信息中心 viewHolder
            final NewsViewHolder holder = (NewsViewHolder) viewHolder;
            //TODO  将数据保存在itemView的Tag中，以便点击时进行获取
            holder.itemView.setTag(position);
            //当前 item 实体数据
            News news = mList.get(position);

            /**
             * 设置数据源
             */
            //设置 "查看详情" 下划线
            holder.tvItemDetails.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
            //设置头像
            GlideUtils.loadCircleImage(mContext,news.getCreaterImgUrl(),holder.ivItemIcon);
            //设置姓名
            holder.tvItemName.setText(news.getCreaterName());
            //设置职位
            holder.tvItemJob.setText(news.getCreaterJob());
            //设置标题
            holder.tvItemTitle.setText(news.getTitle());
            //设置发布时间
            holder.tvItemTime.setText(news.getCreateTime());

            //设置 tag
            if (news.getIsLook()){
                //设置文字
                holder.tvItemTag.setText("已读");
                //设置字体颜色
                holder.tvItemTag.setTextColor(mContext.getResources().getColor(R.color.color_gray));
            }else{
                //设置文字
                holder.tvItemTag.setText("未读");
                //设置字体颜色
                holder.tvItemTag.setTextColor(mContext.getResources().getColor(R.color.color_orange));
            }
        }
    }

    @Override
    public RecyclerView.ViewHolder getViewHolder(View view) {
        return new NewsViewHolder(view);
    }

    /**
     * ViewHolder
     */
    public class NewsViewHolder extends RecyclerView.ViewHolder {

        //头像
        @Bind(R.id.iv_item_icon)
        ImageView ivItemIcon;
        //名字
        @Bind(R.id.tv_item_name)
        TextView tvItemName;
        //职位
        @Bind(R.id.tv_item_job)
        TextView tvItemJob;
        //标志
        @Bind(R.id.tv_item_tag)
        TextView tvItemTag;
        //标题
        @Bind(R.id.tv_item_title)
        TextView tvItemTitle;
        //事件
        @Bind(R.id.tv_item_time)
        TextView tvItemTime;
        //详情
        @Bind(R.id.tv_item_details)
        TextView tvItemDetails;

        public NewsViewHolder(View itemView) {
            super(itemView);
            //初始化 控件绑定
            ButterKnife.bind(this, itemView);
            //初始化 屏幕适配
            AutoUtils.autoSize(itemView);
        }
    }
}
